package com.java.model.singleton;


/**
 * 枚举,也是饿汉式的单例
 * 枚举类不怕反序列化破坏单例，不怕反射破坏单例
 * 但是不能挡住Unsafe破坏单例
 *
 *
 * @author wangning
 * @create 2021-04-20 17:45
 */
public enum EnumSingleton {
	//枚举单例，是《Effective Java》中推荐的单例模式，唯一就是没有使用懒加载
	INSTANCE;
	private EnumSingleton() {
		System.out.println("private EnumSingleton");
	}

	@Override
	public String toString() {
		return getClass().getName() + "@" + Integer.toHexString(hashCode());
	}

	public static EnumSingleton getInstance() {
		return INSTANCE;
	}

	public static void otherMethod() {
		System.out.println("otherMethod");
	}
}
